//#include<iostream>
//using namespace std;
//int m,n;
//int d[1000001];
//int find(int value){
//	int l,r,mid;
//	l=1,r=m;
//	while(l<=r){
//		mid=(l+r)/2;
//		if(d[mid]==value)
//		break;
//		if(d[mid]>value)
//		r=mid-1;
//		else
//		l=mid+1;
//	}
//	cout<<mid<<endl;
//	if(mid>1&&d[mid]==value){
//		while(mid>1&&d[mid-1]==value){
//			mid--;
//		}
//		return mid;
//	}
//	return -1;
//}
//int main(){
//
//	cin>>m>>n;
//	for(int i=1;i<=m;i++){
//		cin>>d[i];
//	}
//	for(int i=0;i<n;i++){
//		int temp;
//		cin>>temp;
//		cout<<find(temp)<<' ';
//	}
//}

#include<iostream>
using namespace std;
int m,n;
int d[1000001];
int find(int value){
	int l,r,mid;
	l=1,r=m;
	while(l<r){
		mid=(l+r)/2;
		if(d[mid]>=value)
			r=mid-1;
		else
			l=mid+1;
	}
	if(d[l]==value)
		return l;
	return -1;
}
int main(){

	cin>>m>>n;
	for(int i=1;i<=m;i++){
		cin>>d[i];
	}
	for(int i=0;i<n;i++){
		int temp;
		cin>>temp;
		cout<<find(temp)<<' ';
	}
}
